Glue Jobが失敗したらメール通知する超簡単な方法
おつかれさまです。
Glue Jobの場合、成功/失敗のステータスがCloudWatchの標準メトリクスで取得できないため、多少工夫してやる必要があります。
今回はもっともシンプル(主観ですが)な方法を紹介します。
構成
設定
※ Glue Jobはすでに作成されているものとして進めていきます。
SNSの設定
トピックの作成
サブスクリプションの作成
CloudWatch Eventsの設定
ルールの作成
ステップ1
イベントソースとターゲットを設定します。
ポイントはカスタムイベントパターンを選択する部分です。また、ターゲットにはさきほど作成したSNS Topicを選択します。
- イベントパターンの入力例
{ "source": [ "aws.glue" ], "detail-type": [ "Glue Job State Change" ], "detail": { "jobName": [ "glue-job-for-err-notification" ], "state": [ "FAILED" ] } }
ステップ2
動作確認
Glue Jobを実行
意図的に失敗するJobを実行します。
メール通知確認
こんなかんじの内容のメールが送られてきます。
{ ...省略 "source": "aws.glue", "detail-type": "Glue Job State Change", "time": "2020-01-09T09:33:40Z", "region": "ap-northeast-1", "resources": [], "detail": { "jobName": "glue-job-for-err-notification", "severity": "ERROR", "state": "FAILED", "jobRunId": "jr_a56a071553c6038a20f1578f74a0136c94e1ea946a3e9516322b4b2bd2e3a5f4", "message": "Command failed with exit code 1" } }
まとめ
いかがだったでしょうか。
意外と情報が少なかったので、備忘録として残しておきます。
どなたかの役にたてば幸いです。